home *** CD-ROM | disk | FTP | other *** search
/ Biodiversity of Illinois 2: Woodland Habitats / Biodiversity of Illinois 2 - Woodland Habitats.iso / mac / casts / PDFxtraBehaviors.cst / 00007_Script_PDF_First, Last, Next, Previous < prev    next >
Text File  |  2006-07-11  |  3KB  |  97 lines

  1. -- First, Last, Next, Previous
  2.  
  3. Property pEvent, pSprite, pAction, pAlertFlag
  4.  
  5. on doGo me
  6.   case pAction of:
  7.     "First Page": set err = PDF_GoFirstPage(sprite pSprite)
  8.     "Previous Page": set err = PDF_GoPreviousPage(sprite pSprite)
  9.     "Next Page": set err = PDF_GoNextPage(sprite pSprite)
  10.     "Last Page": set err = PDF_GoLastPage(sprite pSprite)
  11.   end case
  12.   if PDF_status(sprite pSprite) then alert "PDF Behavior Error"&RETURN&PDF_error(sprite pSprite)
  13. end doGo
  14.  
  15. on mouseUp me
  16.   if (pEvent = #mouseUp) then doGo(me)
  17. end mouseUp
  18.  
  19. on mouseDown me
  20.   if (pEvent = #mouseDown) then doGo(me)
  21. end mouseDown
  22.  
  23. -- standard behavior stuff --
  24. on getPropertyDescriptionList me
  25.   set defaultValues = GetDefaultValues (me)
  26.   
  27.   set pdfSpriteList = getProp (defaultValues, #spriteList)
  28.   set defSprite     = getProp (defaultValues, #defaultSprite)
  29.   if (defSprite=0) then 
  30.     if the ticks - pAlertFlag > 10 then
  31.       alert "Please create a sprite of type PDF first."
  32.     end if
  33.     set pAlertFlag = the ticks -- The ticks when the user clicked "OK"
  34.     
  35.     exit
  36.   end if
  37.   set p_list = [:]
  38.   addprop p_list, #pEvent, [ #comment: "Event", #format:#symbol, #range:[#mouseUp, #mouseDown], #default:#mouseUp]
  39.   addprop p_list, #pSprite, [ #comment: "PDF Sprite is in channel:", #format:#symbol, #range:pdfSpriteList, #default:defSprite]
  40.   addprop p_list, #pAction, [ #comment: "Go to:", #format: #symbol,#range: [ "First Page", "Previous Page", "Next Page", "Last Page" ],#default: "Next Page" ] 
  41.   return p_list
  42. end
  43.  
  44. on getBehaviorDescription
  45.   tmp = "Instruct PDF sprite to display to the first, previous, next or last page of current document."
  46.   tmp = tmp & RETURN& "Available for Windows only, Acrobat or Reader." 
  47.   tmp = tmp &RETURN&RETURN& "--- PARAMETERS ---" &RETURN& " - Event: mouseUp or mouseDown."
  48.   tmp = tmp &RETURN& " - PDF Sprite is in channel: which channel contains the PDF Sprite."
  49.   tmp = tmp &RETURN& " - Go to: First Page, Previous Page, Next Page, Last Page"
  50.   tmp = tmp &RETURN&RETURN&  "Free to use and abuse. (c)1999-2005, Integration New Media, Inc." &RETURN& "Thanks to James Newton for his suggestions" 
  51.   return tmp
  52. end
  53.  
  54. on getBehaviorTooltip
  55.   return "Instruct PDF sprite to display to the first, previous," &RETURN& "next or last page of current document." & RETURN& "Available for Windows only, Acrobat or Reader." 
  56. end
  57.  
  58. -- utils --
  59. on GetDefaultValues me
  60.   if the currentSpriteNum then
  61.     set spriteList = GetSpriteList (me #PDF)
  62.     if count (spriteList) then
  63.       set defaultSprite = getAt (spriteList, 1)
  64.     else
  65.       set defaultSprite = 0
  66.     end if
  67.     
  68.     return [#spriteList: spriteList, #defaultSprite: defaultSprite]
  69.     
  70.   else -- the currentSpriteNum = 0
  71.     -- Director is merely recompiling this script: return dummy values
  72.     return [#spriteList: [1], #defaultSprite: 1]
  73.   end if
  74. end 
  75.  
  76.  
  77. on GetSpriteList me, memberType
  78.   -- return list of sprites of type memberType in current frame
  79.   global version
  80.   if (char 1 of version = 6) then
  81.     set maxSprite = 120
  82.   else
  83.     set maxSprite = the lastChannel
  84.   end if
  85.   
  86.   set aList=[]
  87.   
  88.   repeat with i = 1 to maxSprite
  89.     set spriteMember = the member of sprite i
  90.     -- if (string(m) contains "member 0") then next repeat -- unnecessary
  91.     if (the type of spriteMember = memberType) then -- (JN) Line break
  92.       append (aList, i)
  93.     end if
  94.   end repeat
  95.   
  96.   return aList
  97. end GetSpriteList